.. _cmmCfgSetMioProperty: cmmCfgSetMioProperty ====================== ---------------------- SYNOPSYS ````````` .. code-block:: none VT_I4 cmmCfgSetMioProperty ( [in] VT_I4 Axis, [in] VT_I4 Propld, [in] VT_I4 PropVal ) DESCRIPTION ````````````` - 각종 모션 입출력 신호에 대한 환경을 설정합니다. PARAMETER ``````````` - Axis: 축 번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다. - PropId : 어떠한 환경에 대하여 설정할 것인지를 지정하는 매개 변수입니다. 이 값에 대해서는 아래 표를 참조하십시오. - PropVal : PropId 로 지정된 환경에 대한 설정 및 반환값. +--------------------+-------------------------------------------------------------------------------------+ | PropId | Meaning & PropVal | +====================+=====================================================================================+ | 0 (cmALM_LOGIC) | Alarm(ALM) 신호의 입력로직입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 1 (cmALM_MODE) | Alarm 입력이 ON 되어 해당 축의 모션작업이 정지할 때 정지되는 방식의 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 2 (cmCMP_LOGIC) | 위치비교출력(CMP) 신호의 출력방식 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 3 (cmDR_LOGIC) | -/+ DR 신호의 입력로직 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 4 (cmEL_LOGIC) | -EL 과 +EL 신호의 입력로직 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 5 (cmEL_MODE) | -/+ EL 신호가 ON 되어 정지할 때 정지 방식의 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 6 (cmERC_LOGIC) | ERC 출력 신호의 출력로직의 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 7 (cmERC_OUT) | 원점복귀 완료 시에 ERC 출력여부의 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 8 (cmEZ_LOGIC) | EZ(엔코더 Z 상) 입력 신호의 입력로직의 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 9 (cmINP_EN) | INP 신호 입력 활성화의 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 10 (cmINP_LOGIC) | INP(Inposition) 신호의 입력로직 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 11 (cmLTC_LOGIC) | LTC(Latch) 신호의 입력로직 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 12 (cmLTC_LTC2SRC) | 두 번째 LATCH COUNTER 의 대상카운터 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 13 (cmORG_LOGIC) | ORG(원점센서) 신호의 입력로직 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 14 (cmSD_EN) | SD(Start of Deceleration) 신호의 입력상태를 설정합니다. | +--------------------+-------------------------------------------------------------------------------------+ | 15 (cmSD_LOGIC) | SD(Start of Deceleration) 신호의 입력로직 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 16 (cmSD_LATCH) | SD(Start of Deceleration) 신호를 래치(Latch)할 것인지에 대한 속성값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 17 (cmSD_MODE) | SD 신호에 따른 동작모드 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 18 (cmSTA_MODE) | Start mode 의 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 19 (cmSTA_TRG) | STA 신호가 ON 되는 형태를 설정합니다. | +--------------------+-------------------------------------------------------------------------------------+ | 20 (cmSTP_MODE) | STP 신호모드의 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 21 (cmCLR_CNTR) | CLR 신호가 입력되었을 때 CLEAR 되도록 할 모션컨트롤러의 카운터를 선택합니다. | +--------------------+-------------------------------------------------------------------------------------+ | 22 (cmCLR_SIGTYPE) | CLR 신호의 신호 형태의 설정 값입니다. 설정 및 반환되는 PropVal 은 다음과 같습니다. | +--------------------+-------------------------------------------------------------------------------------+ | 23 (cmCMP_PWIDTH) | CMP 출력은 One-shot pulse 로 출력되는데, 출력되는 펄스의 폭을 조절할 수 있습니다. | +--------------------+-------------------------------------------------------------------------------------+ | 24 (cmERC_ONTIME) | ERC 출력펄스의 펄스폭의 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ | 25 (cmSVON_LOGIC) | 서보온(Servo-On) 신호의 출력 로직의 설정 값입니다. | +--------------------+-------------------------------------------------------------------------------------+ RETURN VALUE ````````````` +--------------+----------------+ | Value | Meaning | +==============+================+ | 음수 | 수행 실패 | +--------------+----------------+ | cmERR_NONE | 수행 성공 | +--------------+----------------+ Example ````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “cmmSDK.h” #include “cmmSDKDef.h” void OnSetMioProperty_Set () { long nAxisNo = 1; // MIO 신호 환경을 설정할 축을 선택합니다. long nAlmLogic, nAlmMode; // ALM 신호 환경 설정 정보. /* ALM 신호에 대해 설정되어 있는 로직 및 모드를 확인하여, ‘ALM Logic : B 접점, ALM Mode : 즉시 정지’ 로 설정합니다. */ // ALM 로직 설정 상태 확인 및 설정 if (cmmCfgGetMioProperty ( nAxisNo, cmALM_LOGIC, &nAlmLogic ) == cmERR_NONE ) { if ( nAlmLogic != cmLOGIC_B) { // ALM 로직을 ‘B 접점 방식’으로 설정 cmmCfgSetMioProperty ( nAxisNo, cmALM_LOGIC, cmLOGIC_B ); } } // ALM 신호 ON 시 정지 모드 설정 if (cmmCfgGetMioProperty ( nAxisNo, cmALM_MODE, &nAlmMode ) == cmERR_NONE ) { if ( nAlmMode != cmFALSE ) { // ALM 신호 ON 시 정지 모드를 ‘즉시 정지’ 모드로 설정 cmmCfgSetMioProperty ( nAxisNo, cmALM_MODE, cmFALSE ); } } } ------------------------------------------------------------------------------------------------------------- Visual Basic Private Sub OnSetMioProperty_Set () Dim nAxisNo As Long ‘ MIO 신호 환경을 설정할 축을 선택합니다. Dim nAlmLogic As Long, nAlmMode As Long ‘ ALM 신호 환경 설정 정보. nAxisNo = 1 ‘ALM 신호에 대해 설정되어 있는 로직 및 모드를 확인하여, ‘ALM Logic : B 접점, ALM Mode : 즉시 정지’ 로 설정합니다. ‘ ALM 로직 설정 상태 확인 및 설정 If cmmCfgGetMioProperty ( nAxisNo, cmALM_LOGIC, nAlmLogic ) = cmERR_NONE Then If nAlmLogic <> cmLOGIC_B Then ‘ALM 로직을 ‘B 접점 방식’으로 설정 Call cmmCfgSetMioProperty ( nAxisNo, cmALM_LOGIC, cmLOGIC_B ) End If End If ‘ ALM 신호 ON 시 정지 모드 설정 If cmmCfgGetMioProperty ( nAxisNo, cmALM_MODE, nAlmMode ) = cmERR_NONE Then If nAlmMode <> cmFALSE Then ‘ ALM 신호 ON 시 정지 모드를 ‘즉시 정지’ 모드로 설정 Call cmmCfgSetMioProperty ( nAxisNo, cmALM_MODE, cmFALSE ) End If End If End Sub ------------------------------------------------------------------------------------------------------------- Delphi procedure OnSetMioProperty_Set (); var nAxisNo : LongInt; // MIO 신호 환경을 설정할 축을 선택합니다. nAlmLogic, nAlmMode : LongInt; // ALM 신호 환경 설정 정보. begin nAxisNo := 1; { ALM 신호에 대해 설정되어 있는 로직 및 모드를 확인하여, ALM Logic : B 접점, ALM Mode : 즉시 정지’ 로 설정합니다. } // ALM 로직 설정 상태 확인 및 설정 if cmmCfgGetMioProperty ( nAxisNo, cmALM_LOGIC, @nAlmLogic ) = cmERR_NONE then begin if nAlmLogic <> cmLOGIC_B then begin // ALM 로직을 ‘B 접점 방식’으로 설정 cmmCfgSetMioProperty ( nAxisNo, cmALM_LOGIC, cmLOGIC_B ); end; end; // ALM 신호 ON 시 정지 모드 설정 if cmmCfgGetMioProperty ( nAxisNo, cmALM_MODE, @nAlmMode ) = cmERR_NONE then begin if nAlmMode <> cmFALSE then begin // ALM 신호 ON 시 정지 모드를 ‘즉시 정지’ 모드로 설정 cmmCfgSetMioProperty ( nAxisNo, cmALM_MODE, cmFALSE ); end; end; end; .. seealso:: :ref:`cmmCfgGetMioProperty`